home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / dev / gcc / ixemul_src.lha / ixemul-41.0 / stack / __request.c next >
C/C++ Source or Header  |  1995-05-23  |  826b  |  52 lines

  1. #include <bases.h>
  2.  
  3. asm("
  4.     .data
  5.     .even
  6.  
  7. body:    .byte    0,0,0,0
  8.     .word    15,5
  9.     .long    0,0,0
  10.  
  11. ok:    .byte    0,0,0,0
  12.     .word    6,3
  13.     .long    0,oktext,0
  14.  
  15.     .text
  16. oktext:    .byte    79,107,0
  17.  
  18.     .even
  19.     .globl    ___request
  20. ___request:
  21.     moveml    #0x3832,sp@-
  22.     movel    4:W,a6
  23.     subal    a1,a1
  24.     jsr    a6@(-0x126)            | FindTask(a1:nam)
  25.     movel    d0,a1
  26.     moveq    #-1,d1
  27.     cmpl    a1@(0xb8:W),d1
  28.     jeq    l_fail                | Dont put requesters up
  29.     lea    "A4(___intuitionname)",a1
  30.     moveq    #0,d0
  31.     jsr    a6@(-0x228)            | OpenLibrary(a1:nam,d0:ver)
  32.     movel    d0,d4
  33.     jeq    l_fail
  34.     lea    "A4(ok)",a3
  35.     lea    "A4(body)",a1
  36.     subl    a2,a2
  37.     movel    sp@(28),a1@(12:W)
  38.     subl    a0,a0
  39.     moveq    #0,d0
  40.     moveq    #0,d1
  41.     moveq    #(640>>4),d2
  42.     lslw    #4,d2
  43.     moveq    #72,d3
  44.     exg    d4,a6
  45.     jsr    a6@(-0x15c)            | AutoRequest(a0,a1,a2,a3,d0,d1,d2,d3)
  46.     movel    a6,a1
  47.     movel    d4,a6
  48.     jsr    a6@(-0x19e)            | CloseLibrary(a1:lib)
  49. l_fail:    moveml    sp@+,#0x4c1c
  50.     rts
  51. ");
  52.